Computers have become highly integrated in the workforce, in the home, in mobile devices, and many other places. Computers can process massive amounts of information quickly and efficiently. Software applications designed to run on computer systems allow users to perform a wide variety of functions including business applications, schoolwork, entertainment and more. Software applications are often designed to perform specific tasks, such as word processor applications for drafting documents, or email programs for sending, receiving and organizing email
In many cases, software applications are designed to interact with other computer systems. For example, internet browser applications are designed to communicate with web servers, uploading and downloading information as requested by the end-user. Many times, information accessible by software applications is stored on a database server. Database servers are typically high-end computer systems with fast data access times and transfer speeds. In some cases, database servers serve many thousands of end-users simultaneously. This can lead to heavy processing loads and slower data transfer rates. Because database servers are built to handle such loads, they often cost more and are more difficult to maintain than conventional computer storage and data access systems.